<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
	xmlns:h="http://xmlns.jcp.org/jsf/html"
	xmlns:f="http://xmlns.jcp.org/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/template.xhtml">
	<ui:define name="title">
		SGMF :: Peça
	</ui:define>

	<ui:define name="content">
		<p:panel>
			<h:form id="form">
				<h:inputHidden id="pecaId" value="#{pecaBean.peca.id}" rendered="#{pecaBean.peca.id != null}" />
				<p:fieldset legend="Peça">
					<p:panelGrid columns="3" styleClass="borderless">
						<p:outputLabel value="Nome" for="nome" />
						<p:inputText id="nome" label="Nome" value="#{pecaBean.peca.nome}" required="true" maxlength="50" size="50" />
						<p:message for="nome" />
						<p:outputLabel value="Número de Série" for="numeroSerie" />
						<p:inputText id="numeroSerie" label="Número de Série" value="#{pecaBean.peca.numeroSerie}" required="true" maxlength="50" size="50" />
						<p:message for="numeroSerie" />
						<p:outputLabel value="Preço" for="preco" />
						<p:inputText id="preco" label="Preço" value="#{pecaBean.peca.preco}" required="true" maxlength="6" size="50">
							<f:convertNumber minFractionDigits="2" maxFractionDigits="2" />
						</p:inputText>
						<p:message for="preco" />
						<p:outputLabel value="Parte do Veículo" for="parte" />
						<p:selectOneMenu id="parte" value="#{pecaBean.peca.parte}" required="true" converter="#{parteConverter}">
							<f:selectItems value="#{pecaBean.parteService.findAll()}" var="parte" itemValue="#{parte}" itemLabel="#{parte.nome}" />
						</p:selectOneMenu>
						<p:message for="modelo" />
						<p:outputLabel value="Modelo do Veículo" for="modelo" />
						<p:selectOneMenu id="modelo" value="#{pecaBean.peca.modelo}" required="true" converter="#{modeloConverter}">
							<f:selectItems value="#{pecaBean.modeloService.findAll()}" var="modelo" itemValue="#{modelo}" itemLabel="#{modelo.nome}" />
						</p:selectOneMenu>
						<p:message for="modelo" />
					</p:panelGrid>
				</p:fieldset>
				<br />
				<p:commandButton id="salvar" value="Salvar"	action="#{pecaBean.salvar}" update=":growl, :form, :datatableForm" icon="ui-icon-disk" />
				<p:commandButton id="novo" value="Novo"	actionListener="#{pecaBean.novo}" process="@this" update=":form, :datatableForm" icon="ui-icon-document" />
			</h:form>
			<br />
			<h:form id="datatableForm">
				<p:dataTable id="datatable" var="peca" 
					value="#{pecaBean.pecaService.findAll()}" rows="10" paginator="true"
					paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
					currentPageReportTemplate="({currentPage} de {totalPages})" rowsPerPageTemplate="5,10,15" emptyMessage="Nenhum registro encontrado.">
					<f:facet name="header">
						Lista de Peças
					</f:facet>
					<p:column headerText="Nome">
						<h:outputText value="#{peca.nome}" />
					</p:column>
					<p:column headerText="Número de Série">
						<h:outputText value="#{peca.numeroSerie}" />
					</p:column>
					<p:column headerText="Quantidade">
						<h:outputText value="#{peca.quantidade}" />
					</p:column>
					<p:column headerText="Preço">
						<h:outputText value="#{peca.preco}">
							<f:convertNumber type="currency" locale="pt_BR" />
						</h:outputText>
					</p:column>
					<p:column headerText="Parte do Veículo">
						<h:outputText value="#{peca.parte.nome}" />
					</p:column>
					<p:column headerText="Modelo do Veículo">
						<h:outputText value="#{peca.modelo.nome}" />
					</p:column>
					<p:column style="width: 32px;">
						<p:commandButton icon="ui-icon-pencil" title="Editar" actionListener="#{pecaBean.editar(peca)}" update=":growl, :form" />
					</p:column>
					<p:column style="width: 32px;">
						<p:commandButton icon="ui-icon-trash" title="Excluir" actionListener="#{pecaBean.excluir(peca)}" update=":growl, datatable">
							<p:confirm header="Confirmação" message="Deseja realmente excluir esta peça?" icon="ui-icon-alert" />
						</p:commandButton>
					</p:column>
				</p:dataTable>
			</h:form>
		</p:panel>
	</ui:define>
</ui:composition>

</html>